/* 
 * Autor: Manoela Camila RA:408131
 * Data Criação: 28/05/12
 * Última Modificação: 20/08/12
 *
 */

#include "Data.h"
#include <list>
#include <iostream>
#include "Vacina.h"

/*Objetos do namespace std sendo utilizados*/
using std::string;
using std::cout;
using std::cin;
using std::endl;
using std::list;
using std::ostream;
using std::istream;

class ItemCarteira{

	private:
		Data dataAplicacao;
		Vacina vacina;
	
	public:
		/*Métodos Construtores*/
		ItemCarteira(); //padrão sem parâmetros
		ItemCarteira(Data, Vacina); //padrão com parâmetros
		ItemCarteira(const ItemCarteira &);
		/*Método Destrutor*/
		~ItemCarteira();
		void adicionarItem();
		int excluirItem();
		void alterarItem(Data dataAplic, Vacina vac);
		void alterarItem();
		void consultarItem() const;
		Data getDataAplicacao() const;
		Vacina getVacina() const;
		/*Sobrecarga de Operadores*/
		bool operator==(const ItemCarteira &); //igualdade
		bool operator!=(const ItemCarteira &); //desigualdade
		friend ostream &operator<<(ostream &, const ItemCarteira &); //cout
		friend istream &operator>>(istream &, ItemCarteira &); //cin
};
